<?php
namespace Factory;

/**
* 农场
* 生产动物
*/
class Farm implements Factory
{

    public function __construct()
    {
        echo '初始化了一个农场';
    }

    /**
     * 生产方法
     * 生产动物
     * @param  string $type [动物类型]
     * @return [type]       [description]
     */
    public function produce($type = '')
    {
        $className = __NAMESPACE__ . '\\' . ucfirst($type);

        if (!class_exists($className)) {
            throw new \InvalidArgumentException('该农场不支持生产该动物', 1);
        }

        return new $className;
    }
}